/**
 * **************************************************************
 ** *
 ** Nombre: EliminadorCuentas.java	* * Versión: 1.0.1 * * 
 * Autor:Alonso Fabian Orozco Perez	* * Creado: 27-ene-2013 * * 
 * Modificado: 01-feb-2013 * * Diagrama: GAPI v2.2.0 * * Caso de uso: MWM3 *			
 ****************************************************************
 */
package AccesoBD;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.logging.Level;
import java.util.logging.Logger;

/**
 * Clase encargada de configurar la conexión a la base de datos
 * @author Alonso
 */
public class AccesoBaseDatos {

    private static final String DRIVER = "com.mysql.jdbc.Driver";
    private static final String USUARIO = "root";
    private static final String PASSWORD = "";
    private static final String BASE_DE_DATOS = "gapi_bd";
    private static final String HOST = "localhost";
    private static final String URL = "jdbc:mysql://";

    /**
     * Metodo encargado de abrir la conexión a la base de datos
     * @return 
     */
    public Connection abrirConexion() {
        Connection conexion = null;

        try {
            Class.forName(DRIVER);
            conexion = DriverManager.getConnection(URL + HOST + "/" + BASE_DE_DATOS, USUARIO, PASSWORD);
            return conexion;
        } catch (SQLException ex) {
            System.out.println("Ocurrió un problema al abrir la conexión");
        } catch (ClassNotFoundException ex) {
            Logger.getLogger(AccesoBaseDatos.class.getName()).log(Level.SEVERE, null, ex);
        }

        return conexion;
    }

    /**
     * Método encargado de cerrar la conexión a la base de datos
     * @param conexion 
     */
    public void cerrarConexion(Connection conexion) {
        try {
            conexion.close();
        } catch (SQLException ex) {
            System.out.println("Ocurrió un problema al cerrar la conexion");
        }
    }

    /**
     * Método encargado de crear la sentencia de la base de datos
     * @param conexion - la conexión hacia la base de datos
     * @return La sentencia de bd creada
     */
    public Statement crearSentenciaBD(Connection conexion) {
        Statement sentencia = null;

        try {
            sentencia = conexion.createStatement();
        } catch (SQLException ex) {
            Logger.getLogger(AccesoBaseDatos.class.getName()).log(Level.SEVERE, null, ex);
        }
        return sentencia;
    }
}
